package com.wx.gof.principle.single;

/**
 * @ClassName Application
 * @Author wx
 * @Description 应用程序-单一职责(每个类只负责自己的职责-这种原则用的比较少)
 * @Date 2018-12-02-17:10
 */
public class Application {
    public static void main(String[] agrs){
        
        /**
         * 此处就不是单一职责，它既要负责大雁的行动还要负责鸵鸟的行动,后面陆陆续续新增各种动物，内部代码要跟着不断的修改
         */
        Bird bird = new Bird();
        bird.mainMoveMode("大雁");
        bird.mainMoveMode("鸵鸟");
        /**
         * 把走与飞两个行为拆分成开来，保持单一职责，鸟类-走:负责走的行为, 鸟类-飞:负责飞的行为
         */
        FlyBird flyBird = new FlyBird();
        flyBird.mainMoveMode("大雁");

        WalkBird walkBird = new WalkBird();
        walkBird.mainMoveMode("鸵鸟");
    }
}
